64 research outputs found

    Multi-Path Development of User Interfaces

    Get PDF
    In software engineering transformational development is a paradigm consisting in the progressive refinement of abstract models into concrete models, until program code. This thesis applies transformational development concepts to User Interfaces (UIs). It enlarges the paradigm of transformational development by defining a methodology allowing the realization of various types of development paths (e.g., forward engineering, reverse engineering, context of use adaptation) in order to realize multi-path development, we propose an ontology of concepts defining various viewpoints that can be maintained on a UI system. Viewpoints are hierarchically structured depending on their level of abstraction. They describe user tasks, classes of objects, presentational and behavioral aspects of UIs, context of use, and a set of mappings between these representations. The underlying mathematical formalism of our ontology being a graph structure (directed, identified, labeled, constrained, and typed graphs), we transform one viewpoint into another by the application of conditional graph rewriting rules gathered in graph grammars. These enable us expressing a wide variety of transformational heuristics so as to be able to express multiple development paths. Ontology and transformations may be stored in an XML format called UsiXML (User interface eXtensible Markup Language) allowing the dissemination, the capitalization, and the consolidation of UI specifications and transformation catalogs.(PhD in Management Sciences, option "Information Systems") -- UCL, 200

    Multi-Path Transformational Development of User Interfaces with Graph Transformations

    No full text
    In software engineering, transformational development is aimed at developing computer systems by transforming a coarse-grained specification of a system to its final code through a series of transformation steps. Transformational development is known to bring benefits such as: correctness by construction, explicit mappings between development steps, and reversibility of transformations. No comparable piece exists in the literature that provides a formal system applying transformational development in the area of user interface engineering. This chapter defines such a system. For this purpose, a mathematical system for expressing specifications and transformation rules is introduced. This system is based on graph transformations. The problem of managing the transformation rules is detailed, e.g., how to enable a developer to access, define, extend, restrict or relax, test, verify, and apply appropriate transformations. A tool supporting this development paradigm is also described and exemplified. Transformational development, applied to the development of user interfaces of interactive systems, allows reusability of design knowledge used to develop user interfaces and fosters incremental development of user interfaces by applying alternative transformations

    Comparing Task Models for User Interface Design

    No full text
    Many task models, task analysis methods, and supporting tools have been introduced in the literature and are widely used in practice. With this comes need to understand their scopes and their differences. This chapter provides a thorough review of selected, significant task models along with their method and supporting tools. For this purpose, a meta-model of each task model is expressed as an Entity-Relationship-Attribute schema (ERA) and discussed. This leads to a comparative analysis of task models according to aims and goals, discipline, concepts and relationships, expressiveness of static and dynamic structures. Following is discussion of the model with respect to developing life cycle steps, tool support, advantages, and shortcomings. This comparative analysis provides a reference framework against which task models can be understood with respect to each other. The appreciation of the similarities and the differences allows practioners to identify a task model that fits a situation's given requirements. It shows how a similar concept or relationship translates in different task usage models

    Developing User Interfaces According to Model Driven Architecture

    No full text
    Abstract. After visual editors and builders, the next generation of tools for software practitioners is located at a higher level of abstraction: model-driven architecture (MDA). In this approach, the interactive system to be built is described by a series of models from which the final system is partially or completely produced. With one big win in mind: when the user’s requirements change or the organization changes, the models change and so does the supporting software system. A MDA-compliant approach is presented to support the development life cycle of the user interface of information systems in: forward engineering (a new system is produced), reverse engineering (an existing system is recuperated), and lateral engineering (an existing system is adapted to a new context of use). The cornerstone of this approach is UsiXML (User Interface eXtensible Markup Language, www.usixml.org), a XML-compliant language expressing user interface models and transformations between them.

    Addressing the Mapping Problem in User Interface Design with UsiXML

    No full text
    The mapping problem has been defined as any method aimed at mapping models capturing various aspects of an interactive system throughout their development life cycle to support model-based design of user interfaces. This field has followed a long tradition of establishing models and maintaining mappings between them so as to create and maintain accurate specifications of a user interface. In this paper, potential mappings between models are defined so as to create a uniform and integrated framework of adding, removing, and modifying mappings throughout the development life cycle of interactive systems. The mappings can be established from any source model to any target model, one or many, in the same formalism, or from any model element to any other. Those models include task, domain, presentation, dialog, and context of use. The context of use is itself decomposed into user, platform, and environment. To support the manipulation of mappings between models, two examples of supporting software are detailed. TRANSFORMIXML consists of a Java application that triggers transformations of models expressed by graph grammars. IDEALXML consists of a Java application allowing the designer to edit any model at any time, and element of any model and to establish a set of mappings. Both software are based on UsiXML,

    MULTIMODALITY AND CONTEXT-AWARE ADAPTATION

    No full text
    Abstract: In principle, context-aware adaptation is assumed to bring to the end user the benefit of adapting the user interface currently being used according to significant changes of the context of use in which the user interface is manipulated. To address major shortcomings of system that hardcode the adaptation logic into the user interface or the interactive software, a mechanism is introduced to express context-aware adaptation as a set of logical production rules. These rules are gathered in graph grammars and applied on graphs representing elements subject to change and conditions imposed on the context of use. These rules can express both adaptations within the same modality of interaction (intra-modality adaptation) and across several modalities of interaction (transmodality adaptation)

    USer Interface eXtensible Markup Language (UsiXML) consists of a User Interface

    No full text
    Description Language (UIDL) allowing designers to specify a user interface at multiple levels of abstraction depending on the development path they are following: task and concepts, abstract user interface, concrete user interface, and final user interface. These levels support to some extent independence with respect to device, computing platform, modality of interaction, channel of information, and context of use. A single user interface can be specified and produced at and from different, possibly multiple, levels of abstraction while maintaining the mappings between these levels if required. Thus, the development process can be initiated from any level of abstraction and proceed towards obtaining one or many final user interfaces for various contexts of use (forward engineering), by recovering the final user interface into any upper level (reverse engineering), or by adapting at any level of abstraction (reengineering).
    • …
    corecore